<?php

namespace app\models;

use yii\db\ActiveRecord;

/**
 * 用户卡充值
 * Class UserCardRecharge
 * @package app\models
 *
 * @property integer $id PK
 * @property integer $uid 用户编号
 * @property integer $card_id 卡编号
 * @property integer $term_length 套餐有效期
 * @property integer $term_length_unit 套餐有效期单位
 * @property float $price 价格
 * @property float $money 金额
 * @property string $wx_app_id 微信公众号或小程序AppId
 * @property string $wx_open_id 微信用户OpenId
 * @property integer $trade_type 支付方式
 * @property integer $status 状态
 * @property integer $create_time 创建时间
 * @property integer $pay_time 支付时间
 * @property integer $update_time 卡更新时间
 * @property string $remark 备注
 *
 * @property User $user 关联用户
 * @property Card $card 关联卡
 */
class UserCardRecharge extends ActiveRecord
{
    const TERM_LENGTH_UNIT_MINUTE = Card::TERM_LENGTH_UNIT_MINUTE; // 套餐有效期单位分钟
    const TERM_LENGTH_UNIT_DAY = Card::TERM_LENGTH_UNIT_DAY; // 套餐有效期单位天
    const TERM_LENGTH_UNIT_MONTH = Card::TERM_LENGTH_UNIT_MONTH; // 套餐有效期单位月

    const TRADE_TYPE_WX_JSAPI = 1;

    const STATUS_WAIT_PAY = 1;
    const STATUS_PAID = 2;
    const STATUS_RECHARGE = 3;
    const STATUS_DELETE = 0;

    /**
     * 关联用户
     * @return \yii\db\ActiveQuery
     */
    public function getUser()
    {
        return $this->hasOne(User::class, ['id' => 'uid']);
    }

    /**
     * 关联卡
     * @return \yii\db\ActiveQuery
     */
    public function getCard()
    {
        return $this->hasOne(Card::class, ['id' => 'card_id']);
    }
}
